Package-level declarations

Contains all classes/methods for the Mood Evaluation feature

Types

Link copied to clipboard
data class BiWeeklyEvaluationUiState(val biWeeklyEntry: BiWeeklyEvaluationEntry = BiWeeklyEvaluationEntry(), val questionResponse: MutableList<Int> = (0..16).map { x -> x * 0 }.toMutableList(), val page: Int = 0)

UI state for Bi-Weekly Evaluation.

Link copied to clipboard
class BiWeeklyEvaluationViewModel @Inject constructor(biWeeklyMoodRepository: BiWeeklyMoodRepository) : ViewModel

ViewModel for handling bi-weekly mood evaluation operations.

Link copied to clipboard
data class DailyEvaluationUiState(val dailyEntry: DailyEvaluationEntry = DailyEvaluationEntry(), val isSubmitted: Int = 0, val page: Int = 0)

UI state for Daily Evaluation.

Link copied to clipboard
class DailyEvaluationViewModel @Inject constructor(dailyMoodRepository: DailyMoodRepository) : ViewModel

ViewModel for handling daily mood evaluation operations.

Link copied to clipboard
data class EvaluationMenuUiState(val isBiWeeklyCompleted: Boolean = false, val isDailyEntry: Boolean = false)

UI state for the Evaluation Menu/Landing Page.

Link copied to clipboard
class EvaluationMenuViewModel @Inject constructor(dailyMoodRepository: DailyMoodRepository, biWeeklyMoodRepository: BiWeeklyMoodRepository) : ViewModel

ViewModel for managing the evaluation menu, tracking completion status of daily and bi-weekly evaluations.

Functions

Link copied to clipboard
fun BiWeeklyEvaluationScreen(modifier: Modifier = Modifier, viewModel: BiWeeklyEvaluationViewModel = hiltViewModel(), openDrawer: () -> Unit, onNavigateToAnalytics: (Int) -> Unit)

Composable that displays the BiWeekly Evaluation screen with a series of questions about mental health over the past two weeks. The user can navigate through the questions and submit the responses at the end.

Link copied to clipboard
fun BiWeeklyResult(modifier: Modifier = Modifier, evaluation: BiWeeklyEvaluationEntry, onNavigateToAnalytics: (Int) -> Unit)

Composable function that displays the result of a bi-weekly evaluation.

Link copied to clipboard
fun DailyMoodEvaluationScreen(modifier: Modifier = Modifier, viewModel: DailyEvaluationViewModel = hiltViewModel(), openDrawer: () -> Unit, onNavigateToAnalytics: (Int) -> Unit, onNavigateToJournal: () -> Unit)

Composable for displaying the Daily Mood Evaluation screen with a top app bar and navigation options.

Link copied to clipboard
fun EmotionRating(dailyEntry: DailyEvaluationEntry, updateIntensity: (Float, Int) -> Unit)

Composable that displays a card allowing the user to rate the intensity of the emotions they selected. Users can slide a scale from 1-10 to indicate how strongly they are feeling each emotion.

Link copied to clipboard
fun EmotionsChart(modifier: Modifier = Modifier, emotion: String, score: String)

Composable that displays a row showing a single emotion and its corresponding score.

Link copied to clipboard

Composable that displays a table summarizing the selected emotions and their corresponding scores.

Link copied to clipboard
fun EvaluationCard(modifier: Modifier = Modifier, title: String, desc: String, completed: Boolean = false, checkMark: Int = 1, onNavigate: () -> Unit)

Composable for an individual evaluation card, including a checkmark if completed.

Link copied to clipboard
fun findSeverity(score: Int, evalType: String): String

Finds the severity level based on the given score and evaluation type (anxiety or depression).

Link copied to clipboard

Composable for a checkmark icon button that indicates if an evaluation is completed.

Link copied to clipboard
fun MoodEvaluationScreen(modifier: Modifier = Modifier, viewModel: EvaluationMenuViewModel = hiltViewModel(), openDrawer: () -> Unit, onNavigateToDaily: () -> Unit, onNavigateToBiWeekly: () -> Unit)

Composable that displays the main Mood Evaluation screen with a top app bar and navigation options.

Link copied to clipboard
fun MoodSelectionQuestionPage(modifier: Modifier = Modifier, dailyEntry: DailyEvaluationEntry, emotionSelect: (String) -> Unit, updateEmotion: (ImageVector) -> Unit)

Composable that represents the page where the user selects their emotion for the daily mood evaluation. Displays emotion selection cards to allow users to choose their current emotional state.

Link copied to clipboard
fun ProceedCard(text: String, navigate: () -> Unit)

Composable function that displays a clickable card to navigate to another screen.

Link copied to clipboard
fun QuestionCard(modifier: Modifier = Modifier, num: Int, question: String, selectedOption: Int, onSelect: (Int) -> Unit)

Composable that displays a question card for a specific question, allowing the user to select an answer.

Link copied to clipboard
fun QuestionResponse(radioOptions: List<String>, selectedOption: Int, onSelect: (Int) -> Unit)

Composable function to display a list of radio button options for a question.

Link copied to clipboard
fun RowChart(modifier: Modifier = Modifier, score: String, severity: String)

Composable function that displays a row with a score and its corresponding severity.

Link copied to clipboard
fun ScoreChart(score: Int, scores: List<String>, severities: List<String>)

Composable function that displays a score chart to show the user's score and severity.